package requestdto

// HuaweiAuth 表示华为OAuth 2.0认证请求的结构体。
type HuaweiAuth struct {
	// GrantType 授权模式，固定传“authorization_code”。
	// 示例值: "authorization_code"
	GrantType string `json:"grant_type"`

	// ClientID 在创建应用后，由华为开发者联盟为应用分配的唯一标识。
	// 应用中OAuth 2.0客户端ID(凭据)-Client ID的查询方法，请参见查看应用基本信息。
	// 示例值: "your_client_id_here"
	ClientID string `json:"client_id"`

	// ClientSecret 在创建应用后，由华为开发者联盟为应用分配的公钥（Client Secret）。
	// 应用中OAuth 2.0客户端ID(凭据)-Client Secret的查询方法，请参见查看应用基本信息。
	// 示例值: "your_client_secret_here"
	ClientSecret string `json:"client_secret"`

	// Code 当“grant_type”为“authorization_code”时，此参数必选。
	// 获取方式详见LoginWithHuaweiIDResponse或AuthorizationWithHuaweiIDResponse。
	// 示例值: "your_authorization_code_here"
	Code string `json:"code"`
}

// HuaweiRequest 表示向华为API发送请求时使用的请求体结构体。
type HuaweiParseAccessToken struct {
	// AccessToken 通过获取应用级凭证/获取用户级凭证/刷新凭证获取到的access_token值。
	// 示例值: "your_access_token_here"
	AccessToken string `json:"access_token"`

	// OpenID 需要解析用户级凭证并期望拿到open_id时，请填写该参数，填写固定值字符串“OPENID”。
	// 此字段为可选。如果需要获取OpenID，则设置为"OPENID"。
	// 示例值: "OPENID" 或者留空
	OpenID string `json:"open_id,omitempty"`
}
